// AI服务相关类型定义

export interface AIMessage {
  role: 'system' | 'user' | 'assistant';
  content: string;
}

export interface AIResponse {
  choices: Array<{
    message: {
      content: string;
    };
  }>;
}

export interface CharacterData {
  name: string;
  personality: string[];
  speakingStyle: string;
  knowledgeBase: string;
}

export interface AIProviderConfig {
  apiKey: string;
  baseURL: string;
  model: string;
  provider: string;
}

// AI提供商策略接口
export interface AIProvider {
  // 获取提供商名称
  getName(): string;

  // 检查配置是否有效
  isConfigured(): boolean;

  // 调用AI API
  callAPI(messages: AIMessage[]): Promise<AIResponse>;

  // 生成角色（必需方法）
  generateCharacter(background: string): Promise<CharacterData>;

  // 进行对话（必需方法）
  chat(messages: AIMessage[]): Promise<string>;

  // 清理响应内容（必需方法）
  cleanResponse(content: string): string;
}
